在大型公司執行 DevOps 精神的團隊延伸出了 SRE(Site Reliability Engineer,網站可靠性工程師) 這個職位。
2003 年 Google 團隊推出這著職務,起始點在於如果讓軟體開發工程師去接維運的任務會有甚麼樣的轉變,所以主要擔任這樣職位的成員,多數也是擁有跨領域的背景。
與一般維運團隊不一樣的是,SRE 講求的中心主旨重在以自動化的方式來處理維運事務,以維持服務的穩定(可靠性)為主要目標,並講求客觀數據做為觀測標準。
所以他們會需要會寫Python、Go 或 Java 等語言,來開發監控工具、改善部屬流程,並定出像是 SLOs((Service Level Objectives,服務水平目標),例如「每個月的系統可用時間達到99.9%」,量化服務的可靠性。
SRE 與過往的維運單位不一樣的地方在於,維運團隊大多以觀測到線上事件發生後緊急以人工流程去處理應對,而 SRE 開發程式將重複性高的項目以自動化流程處理掉,也就是所謂的「瑣事」(Toil)。
另外,更有「事後檢討」(Post-mortem)的無責備文化。當事件發生後,著重於問題的預防,而不是只有抓戰犯,把每次學到的經驗建立成更完善的警報系統。
在發版後如果遇到系統不穩定,就會無法持續快速的讓功能上線。而 SRE 中也有一個錯誤預算(Error Budget)的概念,意思是沒有 100% 完美的系統,但如果在可以接受的錯誤範圍內,開發團隊就可以發布新功能,
所以如果以職業來比喻,維運團隊有時候像是消防員在事件發生時進行救火,在需要蓋大樓時,將地基蓋好,而 SRE 就像是守護者為系統設定安全防護網,讓開發與維運之間達到平衡。